#ifndef MOTIONPARAMSWIDGET_H
#define MOTIONPARAMSWIDGET_H

//Библиотека Qt.
#include <QWidget>
#include <QPointer>


//Внутренняя библиотека.
#include "viddevice.h"


//Объявление внешних классов.
class DevManager;
class QCheckBox;
class QLabel;


class MotionParamsWidget : public QWidget
{
	Q_OBJECT
signals:
	void information(const QString &msg);
	void warning(const QString &msg);
	void critical(const QString &msg);

public:
	//Конструктор.
	MotionParamsWidget(DevManager *devmanager, QWidget *parent = NULL);

	//Деструктор.
	virtual ~MotionParamsWidget() {}

protected:
	//Событие закрытия дмалогового окна.
	void closeEvent(QCloseEvent *event);

private:
	//Менеджер устройств.
	DevManager *devManager;

	QCheckBox *enabledChkBox;

	QLabel *tresholdLabel;
	QLabel *sensitiveLabel;
	QLabel *motionLabel;

private slots:
	//Слот смены активности ДД.
	void slotMotionEnabled(int state);

	//Слот смены порога срабатывания ДД.
	void slotTresholdChanged(int value);

	//Слот смены чувствительности ДД.
	void slotSensitiveChanged(int value);

	//Слот смены состояния параметра шумоподавления.
	void slotNoiseRemoving(int noise);

	//Слот определения фиксации движения.
	void slotAchievedTreshold(bool achieved);

};

#endif
